package com.ar4j.bench.ar4j.domain;

import java.util.List;

import com.ar4j.ActiveRecord;
import com.ar4j.bench.common.domain.IProduct;

@SuppressWarnings("serial")
public abstract class Product implements IProduct, ActiveRecord<Product> {
  private Long id;
  private Long categoryId;
  private String name;
  private String image;
  private String description;
  
  public abstract List<Product> findAllByCategoryId(Long categoryId);
  
  public abstract void deleteByCategoryId(Long categoryId);
  
  public Long getId() {
    return id;
  }
  
  public void setId(Long id) {
    this.id = id;
  }
  
  public Long getCategoryId() {
    return categoryId;
  }
  
  public void setCategoryId(Long categoryId) {
    this.categoryId = categoryId;
  }
  
  public String getName() {
    return name;
  }
  
  public void setName(String name) {
    this.name = name;
  }
  
  public String getImage() {
    return image;
  }
  
  public void setImage(String image) {
    this.image = image;
  }
  
  public String getDescription() {
    return description;
  }
  
  public void setDescription(String description) {
    this.description = description;
  }
    
}
